Field of the Invention
The present invention relates generally to personal computer interfaces. More particularly, the present invention relates to an improved user interface for a personal computer that simulates the input/output interface used in other consumer electronics, such as compact disk (CD) players.
Computers have undergone a dramatic evolution since their introduction in the late 1970's and early 1980's. Early computer systems were difficult to use and understand. Typically, data was input to the computer by typing specific memorized commands into a keyboard. A one-task operating system such as MS-DOS (Microsoft Disk Operating System) was loaded on the computer and functioned to interpret and execute the commands.
Many improvements have been developed for computer systems since the introduction of the first systems. One of the areas that has improved is the user interface. For example, modem system keyboards have greater input capabilities than the keyboards used with the first computer systems. The early keyboards typically had 83 keys. To give the user additional options, keyboards with added keys (such as the CONTROL and FUNCTION keys) were introduced. However, the addition of keys to the original keyboard design had certain drawbacks. For example, a greater number of keys led to additional complexity and hence, confusion for the user. This confusion was compounded by a lack of continuity among applications for special keys or combinations of keys. For example, a key or a combination of keys that has one function with one application very likely has a different function when another application is running. Thus, although the addition of keys to the keyboard resulted in a more powerful keyboard, the trade-off was that the keyboard was more difficult to use.
For many computer users, memorizing and typing in commands to the computer via the keyboard is awkward and complicated. Because of this, alternate data input devices to the keyboard have been developed. One of the most popular of these alternate data input devices is a mouse. To maximize the usefulness of the mouse and to simplify entry of commands into a computer, software vendors have developed graphical user interfaces (GUI's) that implement graphics, special menu technology, and the mouse. One of these graphical user interfaces has been referred to as WIMP (which stands for Windows, Icons, Mouse, and Pull-down) menus. The WIMP concept implements several windows on the screen, icons, mouse operation, and pull-down menus containing functions. By using a mouse, the user can move a pointer, a cross-hair, or an arrow across the screen. When the user presses the mouse button, she can select items from a menu, mark text in a word processing program, or paint in a drawing program. However, as computer systems, operating systems, and software applications become increasingly powerful, many more icons or pull-down options are available for selection by the user. Operating systems and software applications may require a user to navigate many "levels" of icons or pull-down windows before reaching the desired application or command. Under these circumstances, rather than simplifying the entry of commands to the computer, the graphical user interface may actually add complexity and confusion. Instead of wasting time progressing through many levels of icons or pull-up windows, many users prefer once again to memorize commands and use the admittedly complicated and awkward keyboard to select applications and commands. Thus, there is a need for some input method or device that increases "user friendliness" by reducing operator confusion when performing or executing certain system functions.
The keyboard and the mouse share other common problems. For instance, computers often pause or "hang" for differing periods of time while being used by an operator (e.g. during auto-save, while printing, or while running another application). For some operating systems, such as the Microsoft Windows 95 operating system, an hourglass icon is shown on the computer screen during this period when the user is awaiting a system response. Unfortunately, neither the keyboard or the mouse are capable of interrupting the system processor during these periods, and the computer, therefore, is unresponsive to any user command except a reboot. A user thus experiences a loss of control that can be disconcerting during these wait periods. Therefore, a need also exists for some method or interface device to permit a user to enter certain commands to a computer to obtain an immediate response. The availability of an immediate response increases the "user friendliness" of the system by improving the responsiveness of the computer.
The computer industry is continually striving to provide additional computer enhancements to entice computer novices to purchase a computer system. Despite the near universal presence of the computer in the office environment, many people still are uncomfortable with computers and are unwilling to purchase or upgrade a home computer. Therefore, it is important for computer designers to add new features to each computer while at the same time giving the user a feeling of familiarity and comfort. Thus, the computer designer must add features (and complexity) while actually making the computer easier to use. In addition, new computer systems preferably are compatible with current computer systems. As such, any invention that enhances user friendliness by reducing operator confusion and by improving the responsiveness of the computer must also operate seamlessly with a broad range of already existing applications and systems. That is, the invention should be compatible with other computers and applications that are on the market such that an application that can operate on another computer can still operate without difficulty on a newly designed computer system.
As a further complication, all of these design criteria must be done in the framework of maintaining the affordability of the computer system. Thus, any new feature preferably can be implemented using existing hardware or inexpensive components. Thus, ideally, many more functions would be provided to the user without any additional cost, while increasing user friendliness.
One possible way to provide more capabilities is to add additional keys to the keyboard, but the addition of more keys to the keyboard would be impractical and would not solve many of the problems existing in prior art data input devices. First, more keys on the keyboard would complicate and change the layout of the keyboard, thereby leading to greater confusion by the user. This confusion would be exacerbated if the function associated with an additional key changed from application to application as is typical. Second, fitting additional keys on a keyboard would require a larger keyboard or smaller keys. Since keyboards are, to a great extent, standardized within the industry, adding keys to the keyboard is undesirable and might cause compatibility problems with keyboards presently on the market. Changes to the structure of the mouse similarly would be undesirable. Further, a more complicated keyboard or mouse would still suffer many of the same drawbacks as the simpler keyboards and mice. For example, an operator still would not be able to interrupt the system when it is busy, even where the user would prefer for the computer do something else.
Thus, a superior method or device is needed for the input of commands into the computer. Future computer processors will become increasingly more powerful, making the computer capable of performing even more functions than it does today. For example, a modem computer may double as a telephone answering machine (TAM). Such a computer may also double as a television or an audio CD player. Other roles for the computer will inevitably develop. However, these capabilities are undermined because the average user may be unable or unwilling to access these features. For instance, to use the computer system as a TAM, an operator is required to proceed with the mouse through multiple levels of icons before an audio message can be played. As the array of options increases, users will be faced with increasingly complex graphics user interfaces unless another solution is found.
The ideal solution would be to offset the increased computer capabilities with a "user friendly" interface to facilitate ease of use as much as possible. Furthermore, it would be desirable if an interface was developed that was equally effective, regardless of the operating system or application being run. It would further be desirable if the interface caused the computer to respond quickly to user commands. It would also be desirable if the user interface used components already present in computer systems to minimize the cost to implement the user interface.